package com.example.blog.mapper;

import java.util.List;

import com.example.blog.entity.Image;

public interface ImageMapper {
    /**
     * 通过图片ID查询
     */
    Image selectByPrimaryKey(Integer imageId);
    
    /**
     * 通过图片名称查询
     */
    Image selectByImageName(String imageName);
    
    /**
     * 查询所有图片
     */
    List<Image> selectAll();
    
    /**
     * 通过用户ID查询图片
     */
    List<Image> selectByUserId(Integer userId);
    
    /**
     * 查询用户未删除的图片
     */
    List<Image> selectNotDeletedByUserId(Integer userId);
    
    /**
     * 获取用户最早上传的图片（作为头像）
     */
    Image selectUserAvatar(Integer userId);
    
    /**
     * 插入图片记录
     */
    int insert(Image image);
    
    /**
     * 更新图片记录
     */
    int updateByPrimaryKey(Image image);
    
    /**
     * 标记图片为删除状态
     */
    int markAsDeleted(Integer imageId);
    
    /**
     * 物理删除图片记录
     */
    int deleteByPrimaryKey(Integer imageId);
    
    /**
     * 删除用户的所有图片
     */
    int deleteByUserId(Integer userId);
} 